const express = require('express')
const app = express()

// const myLogger = function(req, res, next) {
//     console.log('LOGGED')
//     next()  // 传递给下一个中间件 不然会卡主
// }

// app.use(myLogger)

// app.get('/', function(req, res) {
//     res.send('Hello World!')
// })

app.get(
    "/user/:id",
    function(req, res, next) {
        // if the user ID is 0, skip to the next route
        //         next() 不带参数
        // 表示继续跳转执行下一个middle或者route函数。
        // next('route')
        // 表示丢弃当前route的剩余callback函数，注意只在由app.METHOD()/route.METHOD()中定义的middleware函数中生效。
        // next(! 'route')
        // 对于任何非'route'参数(不管是一个简单数字或者还是一个字符串)都被认为是一个err，跳转到错误处理函数。
        if (req.params.id === "0") next("route");
        // otherwise pass the control to the next middleware function in this stack
        else next();
    },
    function(req, res, next) {
        // render a regular page
        res.send("regular");
    }
);

// handler for the /user/:id path, which renders a special page 
app.get("/user/:id", function(req, res, next) {
    res.send("special");
});

app.listen(3356, () => {
    console.log('已启动3356端口')

})